package com.study.rocket.delay;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;

/**
 * @author mjy(发送延迟消息,消息延迟时间按照规则,设置)
 * @date 2021/12/14
 * @description
 */
public class Producer {

    public static void main(String[] args) throws Exception {
        //创建生产者，并且指定组名
        DefaultMQProducer producer = new DefaultMQProducer("delayGroup");
        //设置nameServer地址
        producer.setNamesrvAddr("192.168.15.170:9876");
        //启动生产者
        producer.start();
        for (int i = 0; i < 10; i++) {
            Message message = new Message();
            //设置消息主题
            message.setTopic("delayTopic");
            //设置主题小的类别
            message.setTags("studyTopic");
            //设置消息体
            message.setBody(("生产者发送延迟消息"+i).getBytes());
            //设置消息延迟时间
            message.setDelayTimeLevel(2);
            //发送同步消息
            SendResult send = producer.send(message);
            System.out.println("同步消息发送成功状态："+send);
     /*       //发送完毕线程睡眠1秒
            TimeUnit.SECONDS.sleep(2);*/
        }
        //关闭生产者
        producer.shutdown();
    }
}
